@echo off
:: 设置UTF-8编码页
chcp 65001 >nul 2>&1
:: 设置控制台字体为支持UTF-8的字体
for /f "tokens=2 delims=:" %%a in ('chcp') do set "current_cp=%%a"
if not "%current_cp%"==" 65001" (
    echo 正在设置UTF-8编码...
    chcp 65001 >nul
)

title AI智能体检测工具 - Builder.Alyr.Net [UTF-8版本]

echo ================================================
echo Builder.Alyr.Net AI智能体检测工具
echo (c) 2020-2025 ALYR.NET
echo UTF-8编码版本 - 支持完整中文显示
echo ================================================
echo.

cd /d "%~dp0"

echo 启动AI智能体检测系统...
echo.

echo 检查项目环境...
if not exist "package.json" (
    echo [错误] 未找到 package.json 文件！
    echo 请在项目根目录中运行此脚本
    pause
    exit /b 1
)

if not exist "utils\ai-bootstrap.js" (
    echo [错误] 未找到AI智能体核心文件！
    echo 请检查 utils\ai-bootstrap.js 是否存在
    pause
    exit /b 1
)

echo [成功] 项目环境检查通过
echo.

echo 检查依赖项...

rem 检查 node_modules 是否存在
if not exist "node_modules" (
    echo 未找到 node_modules 目录，正在安装所有依赖项...
    npm install
    if errorlevel 1 (
        echo [错误] 依赖项安装失败
        pause
        exit /b 1
    )
    echo [成功] 所有依赖项安装完成
    goto :dependency_check_done
)

rem 检查核心依赖项
set MISSING_DEPS=0

if not exist "node_modules\fs-extra" (
    echo 缺少依赖项: fs-extra
    set MISSING_DEPS=1
)

if not exist "node_modules\prisma" (
    echo 缺少依赖项: prisma
    set MISSING_DEPS=1
)

if not exist "node_modules\@nestjs" (
    echo 缺少依赖项: @nestjs/cli
    set MISSING_DEPS=1
)

if not exist "node_modules\@types\express" (
    echo 缺少依赖项: @types/express
    set MISSING_DEPS=1
)

if not exist "node_modules\@types\node" (
    echo 缺少依赖项: @types/node
    set MISSING_DEPS=1
)

if not exist "node_modules\@types\react" (
    echo 缺少依赖项: @types/react
    set MISSING_DEPS=1
)

if not exist "node_modules\@types\react-dom" (
    echo 缺少依赖项: @types/react-dom
    set MISSING_DEPS=1
)

if not exist "node_modules\chalk" (
    echo 缺少依赖项: chalk
    set MISSING_DEPS=1
)

if not exist "node_modules\inquirer" (
    echo 缺少依赖项: inquirer
    set MISSING_DEPS=1
)

if %MISSING_DEPS%==1 (
    echo.
    echo 正在安装缺少的依赖项...
    npm run setup
    if errorlevel 1 (
        echo 设置失败，尝试使用 npm install...
        npm install
        if errorlevel 1 (
            echo [错误] 依赖项安装失败
            echo 请检查网络连接和npm配置
            pause
            exit /b 1
        )
    )
    echo [成功] 所有依赖项安装完成
) else (
    echo [成功] 所有依赖项检查通过
)

:dependency_check_done

echo.
echo 检查AI智能体核心文件...
if not exist "core\ai-rules-checker.js" (
    echo [警告] AI规则检查器文件不存在
)

if not exist "core\auto-fix-helper.js" (
    echo [警告] 自动修复助手文件不存在
)

if not exist "core\real-time-monitor.js" (
    echo [警告] 实时监控文件不存在
)

if not exist "config\agent-config.json" (
    echo [警告] 智能体配置文件不存在
)

echo.
echo 启动AI智能体检测工具...
echo ================================================
echo 正在初始化智能体系统...
echo - 加载配置文件
echo - 启动规则检查器
echo - 激活实时监控
echo - 初始化自动修复功能
echo ================================================
echo.

rem 确保我们在正确的目录中
cd /d "%~dp0"

echo 执行AI智能体引导程序...
node utils\ai-bootstrap.js

if errorlevel 1 (
    echo.
    echo [错误] AI智能体启动失败！
    echo 请检查以下项目：
    echo 1. Node.js 是否已安装
    echo 2. 运行 npm install 安装依赖
    echo 3. 以管理员身份运行
    echo 4. 检查防火墙设置
    echo 5. 确保项目文件完整
    echo.
    echo 故障排除建议：
    echo - 删除 node_modules 文件夹后重新安装
    echo - 检查 Node.js 版本是否兼容
    echo - 确保网络连接正常
    pause
    exit /b 1
)

echo.
echo ================================================
echo [成功] AI智能体检测完成！
echo ================================================
echo.
echo 智能体功能状态：
echo - 代码规则检查: 已激活
echo - 实时监控: 运行中
echo - 自动修复: 就绪
echo - 配置管理: 已加载
echo.
echo 您现在可以开始使用AI智能体功能：
echo 1. 实时代码检测和修复
echo 2. 智能规则验证
echo 3. 自动化项目管理
echo 4. 代码质量监控
echo.
echo 感谢使用 Builder.Alyr.Net AI智能体系统！
echo.
pause